Service providers may desire to use communication systems to provide high availability to high-quality services for their subscribers. Typically, conditions differ across regions of the network, for example, due to differences in weather, geography, density of structures, density of data terminals, etc. These different network conditions may result in differences in apparent availability or quality of services to subscribers.
Adaptive communication techniques, like adaptive coding and modulation (“ACM”), may dynamically adjust coding and modulation schemes to adapt to these changing network conditions. For example, as conditions change, the availability of services may be increased or maintained by using more reliable (lower order) coding and modulation schemes. In order to adapt, however, the network may first have to detect information relating to one or more conditions. As such, there may be a delay between a change in network conditions and an adjustment in communications.
In another scenario, where adaptive channels are introduces to high speed communication networks which render simple flow-control mechanism and/or algorithms. These approaches are insufficient especially in scenarios of rapid changes in user data throughput as simple pause or flow control mechanism
Pause is a flow control mechanism on full duplex Ethernet link segments defined by IEEE 802.3x and uses MAC control frames to carry the PAUSE commands. Simply placing a receiver can generate a MAC control frame and send a PAUSE request to a sender when it predicts the option for buffer overflow. Upon receiving a PAUSE frame, the sender responds by stopping transmission of any new packets until the receiver is ready to accept them again. The basic disadvantage of IEEE 802.3x PAUSE is it limits its field of applicability. After a link is paused, a sender cannot generate any more packets, which makes an Ethernet segment unsuitable for carrying multiple traffic flow that might require different quality of service (QoS). It also leads to another problem, when two nodes try to send to the same receiver, where one sender floods the link and other conservatively uses it. The receiver has to send PAUSE frames to both transmitters. The conservative sender also has to pause the transmission.
Another improvement mechanism over the pause mechanism is Priority Flow Control (PFC). Operation of priority based flow control is limited to a data center environment. Further the priority flow control mechanisms are limited to certain networks and distance. A receiver using PFC must predict the potential for buffer exhaustion for a CoS, and respond by generating an explicit PAUSE frame for that CoS when that condition arises. The PAUSE frame needs to be sent back to the other end of the wire early enough, so that the talkative sender has time to stop transmitting before buffers overflow on the receiving side. Since bits on a wire travel at a finite speed, the length of the wire affects how early the receiving end must act. The longer the wire, the earlier a receiver must send back a PAUSE frame. Put another way, at any point in time the receiver must have enough residual buffers available to store any packet that might be in flight while the PAUSE frame travels back to the sender and gets processed there. Since after the PAUSE request has been sent, the system “transmitter+wire+receiver” must drain all existing packets into receiver buffers, the definition of an appropriate buffer threshold on the receiver side is critical to a functioning PFC implementation.
Another important factor is consideration of link utilization. Defining the appropriate receiver buffer threshold for a PAUSE frame helps establish the appropriate minimum amount of buffer space required to obtain lossless behavior. If insufficient buffers are reserved for PAUSE absorption, some packets may be dropped. However, if a PAUSE is injected too early, that may affect the overall utilization of the link. Link utilization is a function of the number of packets that can be on the wire at any point in time. Since the PFC implementations do not allow configurations that can influence this parameter.
Thus, it may be desirable to generate predictions of future link conditions and to dynamically pre-adjust transmission parameters with an awareness of those predicted conditions when configuring devices for lossless Ethernet and PFC.